<?php

/*
	info: 时间日期静态方法
	base: WEB_TIMEZONE, WEB_TIME
	$Id: timedate.class.php 13 2011-03-25 08:33:49Z lfly1573@gmail.com $
*/

if (!defined('WEB_IN'))
{
	header("HTTP/1.0 404 Not Found");
	exit();
}

final class TimeDate
{

	public static $timeZone = WEB_TIMEZONE;

	/**
	 * 转换字符串或数组为时间戳
	 * @param $mixVar 要转换的内容
	 * @return int 时间戳
	 */
	public static function ConvTime($mixVar)
	{
		$tempReturNnum = 0;
		if (is_array($mixVar))
		{
			$tempSetArray = explode('-', self::FormatTime(WEB_TIME, 'H-i-s-m-d-Y'));
			$tempSetArray = array('hour' => $tempSetArray[0], 'minute' => $tempSetArray[1], 'second' => $tempSetArray[2], 'month' => $tempSetArray[3], 'day' => $tempSetArray[4], 'year' => $tempSetArray[5]);
			$tempSetArray = array_merge($tempSetArray, $mixVar);
			$tempReturNnum = mktime($tempSetArray['hour'], $tempSetArray['minute'], $tempSetArray['second'], $tempSetArray['month'], $tempSetArray['day'], $tempSetArray['year']);
		}
		else
		{
			$tempReturNnum = strtotime($mixVar);
		}
		return $tempReturNnum - self::$timeZone * 3600 + date('Z');
	}

	/**
	 * 格式化时间
	 * @param $intTimeNum 数字时间
	 * @param $strMode 格式化模式
	 * @return string 格式化后的时间
	 */
	public static function FormatTime($intTimeNum, $strMode = 'FS')
	{
		if ($intTimeNum <= 0)
		{
			$intTimeNum = WEB_TIME;
		}
		switch (strtoupper($strMode))
		{
			case 'FT':
				$strMode = (self::FormatTime($intTimeNum, 'FD')==self::FormatTime(WEB_TIME, 'FD')) ? 'H:i:s' : 'Y-m-d';
				break;
			case 'FS':
				$strMode = 'Y-m-d H:i:s';
				break;
			case 'FI':
				$strMode = 'Y-m-d H:i';
				break;
			case 'FD':
				$strMode = 'Y-m-d';
				break;
		}
		return gmdate($strMode, $intTimeNum + self::$timeZone * 3600);
	}

	/**
	 * 检查是否合法日期
	 * @param $strDate 日期
	 * @param $strComm 分隔符
	 * @return bool 是否合法日期
	 */
	public static function IsDate($strDate, $strComm = '-')
	{
		if (!empty($strDate))
		{
			list($year, $month, $day) = explode($strComm, $strDate);
			return checkdate($month, $day, $year);
		}
		else
		{
			return FALSE;
		}
	}


	/******************************************/


	/* 构造函数 不允许执行 */
	private function __construct(){}

}	//end class

?>